package com.softer.wxzj.common.util;

import lombok.extern.slf4j.Slf4j;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @description:时间格式转换工具类
 * @ClassName: DateFormatUtil
 * @author: zcz
 * @date: 2019-05-20 16:33
 */
@Slf4j
public class DateFormatUtil {
    public static final String DATE_PATTERN = "yyyy-MM-dd";

    /**
     * 当前日期
     * @return
     */
    public static Date getNowDate() {
        DateFormat df = new SimpleDateFormat(DATE_PATTERN);
        return getDate(df, DateUtils.getDateNow());
    }
    /**
     * 转时间格式
     * @param date 时间字符串
     * @param format 格式
     * @return
     */
    public static Date getDateFormat(String date,String format) {
        DateFormat df = new SimpleDateFormat(format);
        return getDate(df, date);
    }

    private static Date getDate(DateFormat df, String date){
        Date d = null;
        try{
            d = df.parse(date);
        }catch (Exception e){
            log.error("错误信息:()", e.getMessage(), e);
        }
        return d;
    }
    /**
     * 计算两个日期之间的天数    注意日期格式：yyyy-MM-dd相隔日期，yyyy-MM-dd HH:mm:ss相差
     * @param startDate
     * @param endDate
     * @return
     */
    public static int getDiscrepantDays(Date startDate, Date endDate) {
        int day = (int) ((endDate.getTime() - startDate.getTime()) / 1000 / 60 / 60 / 24);
        return day < 0 ? 0 : day;
    }
}
